Open-source · Podman-native · Rootless

Local PHP development for Linux & macOS

Lerd runs Nginx, PHP-FPM and your services as rootless Podman containers. Automatic .test domains, per-project PHP & Node, one-command TLS. No Docker daemon, no sudo, no system pollution.

Rootless · no sudoNo Docker daemonPHP 7.4 – 8.5
~/code/acme · lerd
$
Auto-detected on lerd link
Laravel Symfony WordPress Drupal Magento CakePHP Statamic CodeIgniter Tempest
Built for developer experience

Everything the Linux PHP dev
never had, in one binary.

From lerd link to a live HTTPS site in seconds. Then the deep stuff: flame-graph profiling, a dump debugger, a Tinker REPL, and worker self-heal, surfaced across CLI, dashboard, TUI and MCP.

Rootless Podman, zero daemon

Nginx, PHP-FPM and services run as your user via systemd user units, dual-stack IPv4 + IPv6 where available. No Docker, no background daemon, no sudo.

// no system pollution

Automatic .test domains + TLS

One command provisions a trusted certificate via mkcert. Or opt out and use *.localhost, no dnsmasq, no resolver tweaks, no sudo for the DNS bits.

// project.test → https

Per-project PHP & Node

PHP 8.1–8.5 plus a frozen 7.4 / 8.0 legacy tier. Switch with one command, isolated per repo.

SPX flame-graph profiler

One-click on/off. Every PHP-FPM request becomes a flame graph in a same-origin Profiler view.

Worker self-heal

Queue, schedule, Horizon and Reverb workers plus the Stripe listener, monitored everywhere and recovered with one click.

Debug window for every dump()

Intercepts every dump() / dd() and streams it to the dashboard, TUI and MCP, scoped per site and per worktree branch. Captures SQL with N+1 detection, mail, events, jobs & outgoing HTTP. Your response stays clean.

// Laravel + Symfony

In-browser Tinker REPL

A PHP REPL per site on the Monaco editor, backed by phpantom_lsp, a real language server that resolves your actual models, relationships & vendor classes, with quick-fix imports, per-line results and inlined SQL.

// artisan tinker, in the UI
Also includesFrankenPHP & OctaneTabbed mouse-driven TUI & system trayPolyglot sites · Node, Python, Go & Ruby
The built-in Web UI · installable as a PWA

A dashboard that actually
manages your stack.

Switch PHP versions, toggle services, tail live logs, run Tinker, all from the browser. Click around; this is the real thing.

lerd.localhost
Model Context Protocol · eleven grouped tools

Let your AI assistant run
the dev environment.

Lerd ships a built-in MCP server. Connect Claude Code, Cursor, Codex, Gemini, Copilot, Junie, Antigravity or Windsurf and scaffold projects, switch PHP, run migrations and tail logs, straight from chat.

Claude Code · lerd-mcp
site.link · lerd link

Link the current directory, auto-detect the framework, provision TLS.

site.php · lerd isolate 8.4

Switch the per-site PHP version without an FPM restart.

service.start · redis, mysql…

Start or stop shared services on demand, rootless.

logs.fetch · dump · queries

Stream PHP-FPM, queue and debug output back into the chat.

Claude Code Cursor Codex CLI Gemini CLI Copilot Junie Antigravity Windsurf
Why Lerd

The Herd workflow, without
the Docker tax.

A zero-config shared stack you can drop any project into without touching its files. Here's how it lines up against the tools Linux PHP devs reach for today.

Coming from a Mac or from Windows? Herd has no Linux build and Laragon is Windows-only. Lerd gives you both workflows natively, see Laravel Herd for Linux, Laragon for Linux and the full comparison.

Bundled, rootless, on-demand

Every service your app needs.

Toggle them per workspace from the CLI, dashboard or MCP. Need something else? Drop a Containerfile.lerd to run Node, Python, Ruby or Go alongside your PHP sites.

Get started

Live in two commands.

~/code/acme